The information superhighway holds great promise for the distribution of entertainment programming, as well as information. A problem, however, is the massive data size of entertainment programming, such as broadcast-quality video/audio. A single second of video programming includes about 54 megabytes of data (1.8MB frame, 30 frames per second). A two hour movie thus represents about 389 gigabytes of data. The technical and logistical challenges associated with storing and transmitting this volume of data are enormous.
To address this problem, various video/audio compression techniques are known. One of these, MPEG II (Motion Pictures Expert Group), is described by ISO/IEC Standard 13818 and promises to provide a several hundred-fold reduction in data size while maintaining broadcast quality. Compression by a factor of 200 reduces the storage requirements for a two hour movie to less than two gigabytes, and reduces the requisite transmission speed down to 270 kilobytes per second. When this data is received at a subscriber's premises, it can be expanded back to substantially its original form by an MPEG decompressor, e.g. built into a set-top cable box.
The only difficulty that remains is to compress all of the entertainment programming ever produced so that it can be stored and distributed in compressed form. This is not a small undertaking.
MPEG compression is a computationally intensive process. It is so computationally intensive that even expensive parallel processors optimized for this task (e.g. the IBM PVS system) requires dozens of hours to compress a two hour movie (i.e. many times slower than real time). Less expensive devices, often in the form of arrays of customized integrated circuits, are available to perform real time compression for low performance applications, such as video conferencing, but are not suitable for use with broadcast quality material.
While specialized hardware processors offer advantages in speed, they suffer in terms of flexibility. For example, different video passages have different characteristics making them susceptible to different optimizations during the compression process. Dedicated hardware approaches are ill-suited to effect such optimizations.
In terms of flexibility, software-based MPEG compression is preferred, since the processing techniques and parameters can more easily be adapted to the particular characteristics of the video clip being compressed. But software-based techniques are generally an order of magnitude slower than comparable hardware-based approaches.
As a hybrid, some researchers have attempted MPEG processing on a network of computers, as illustrated by Bevinakoppa et al, "Digital Image Compression on a Network of Transputers," Transputers and Parallel Applications, TAPA-92, pp. 25-32, 1993, and Yu et al, "Software Implementation of MPEG-II Video Encoding Using Socket Programming in LAN," Proc. of the SPIE, Vol. 2187, pp. 229-40, 1994. But such approaches have a variety of drawbacks, including poor use of network bandwidth, the high cost of the individual processing nodes, the unavailability of the nodes for other tasks during MPEG processing, and the delay of the MPEG processing if one of these nodes is preempted for another use.
In accordance with a preferred embodiment of the present invention, the foregoing and other drawbacks of the prior art are overcome. By forming a massively parallel, distributed system using processors in interconnected and otherwise-idle cable television set-top boxes, MPEG compression tasks are partitioned and performed economically in real- or better than real-time. Processing interruptions due to subscriber uses of their cable set-top boxes are detected and handled without unduly slowing the compression process.
The foregoing and other features and advantages of the preferred embodiment of the present invention will be more readily apparent from the following detailed description, which proceeds with reference to the accompanying drawings.